home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Commun⁄Network / MailCheck 0.9x ƒ / gms.h < prev    next >
Text File  |  1990-08-31  |  2KB  |  54 lines

  1. /*
  2.  * request from/reply to andrew mail watcher
  3.  * $Header: /afs/andrew.cmu.edu/usr13/aw0g/gms/RCS/gms.h,v 1.4 90/07/20 11:08:53 aw0g Exp $
  4.  */
  5.  
  6. #ifndef uint8
  7. #define uint8 unsigned char
  8. #endif
  9. #ifndef int32
  10. #define int32 long
  11. #define uint32 unsigned long
  12. #endif
  13. #ifndef uint16
  14. #define uint16 unsigned short int
  15. #endif
  16.  
  17. #define GMS_VERS_MAJ    (2)
  18. #define GMS_VERS_MIN    (14)
  19.  
  20. #define gms_MIN_TYPE    (23)
  21. #define gms_ask_mail     (23)    /*tell me about these users*/
  22. #define gms_answer_mail    (24)    /*here is info on them*/
  23. #define gms_news    (25)    /*server sent something unsolicited*/
  24. #define gms_ack        (26)    /*reply to server*/
  25. #define gms_MAX_TYPE    (26)
  26.  
  27. #define GMS_MAX_STR_LEN    (400)
  28.  
  29. #define gms_fl_mail    (1)    /*set if this is a mail answer*/
  30. #define gms_fl_error    (2)    /*set if this in an error answer*/
  31. #define gms_fl_nocache    (4)    /*this is a live anwer*/
  32.  
  33. struct gms_mail_status_R {
  34.   uint8 gms_vers_maj;        /*major version number*/
  35.   uint8 gms_vers_min;        /*minor version number*/
  36.   uint8 gms_type;            /*gms packet type*/
  37.   uint8 gms_flags;            /*status flags*/
  38.   uint16 gms_change_count0;    /*change count of messages for this user*/
  39.   uint16 gms_change_count1;    /*change count of messages for this that*/
  40.   int32 gms_id;            /*packet id to make ack esayer*/
  41.   int32 gms_poll_time;        /*mac sends cur poll time, server answers min poll time*/
  42.   char gms_text_buf[GMS_MAX_STR_LEN];    /*null terminated string*/
  43. };
  44. typedef struct gms_mail_status_R
  45.   gms_mail_status,*gms_mail_status_pt;
  46.  
  47. #define GMS_nameoffset (16)    /*start of username text*/
  48. #define GMS_max_size (GMS_nameoffset+GMS_MAX_STR_LEN)
  49. /*
  50.  * get size of data to transmit on net
  51.  */
  52. #define GMS_real_size(xx_arg) (GMS_nameoffset+strlen((xx_arg).gms_text_buf)+1)
  53.  
  54.